<?php
require_once($_SERVER["DOCUMENT_ROOT"] . "phpkurs/labb1/view/LoginView.php");

namespace model;

	class Loginmodel {
		private static $realUserName = "Admin";
		private static $realPassword = "Password";

		public function validateUsrInfo($usrInfo) {
			$loginView = new Loginview;
			$usrName = $usrInfo["username"];
			$pWord = $usrInfo["password"];

			if(empty($usrName)) {
				return "Användarnamn saknas";
			}
			else if(empty($pWord)) {
				return "Lösenord saknas";
			}
			else if($usrName != self::$realUserName || $pWord != self::$realPassword) {
				return "Felaktigt användarnamn och/eller lösenord";
			}

			$loginView->setSessionLogin();

			return "";
		}
		
		/**
		 * @param array
		 * Funktion som sparar användaruppgifter, och sparar lösenordet genom att kryptera det.
		 */
		public function saveUsrInfo($usrInfo) {
			setcookie("UserName", $usrInfo["username"]);
			$encryptedPassWord = hash("sha512", $usrInfo["password"]);
			setcookie("Password", $encryptedPassWord);
		}

		/**
		 * Funktion som tar bort en användarcookie genom att göra dem gamla.
		 */
		public function removeUsr() {
			setcookie("UserName", "", time()-3600);
			setcookie("Password", "", time()-3600);
		}

		/**
		 * Funktion som hämtar cookie information och gämnför dem och ser om det är rätt.
		 */
		public function loginUserWithCookie() {
			$usrInfoView = new UserInfo();
			$cookie = $usrInfoView->getCookieInfo();
			return $cookie["username"] == "Admin" && $cookie["password"] == "e6c83b282aeb2e022844595721cc00bbda47cb24537c1779f9bb84f04039e1676e6ba8573e588da1052510e3aa0a32a9e55879ae22b0c2d62136fc0a3e85f8bb";
		}
	}
?>